1. Field of the Invention
This invention relates in general to programming development environments performed by computers, and in particular, to the use of a dynamic debugging tool usable in a programming development environment for Internet and Intranet applications.
2. Description of Related Art
With the fast growing popularity of the Internet and Intranets, especially Web-based networks, there is also a fast growing demand for Internet and Intranet access to databases. However, it is especially difficult to use relational database management system (RDBMS) software with Web-based networks. One of the problems with using RDBMS software with Web-based networks is the lack of programming development environments that can be used to develop both Web-based and RDBMS-based applications.
For example, Web-based networks operate using the HyperText Transfer Protocol (HTTP) and the HyperText Markup Language (HTML). HTTP is the protocol used by Web clients and Web servers to communicate between themselves using these hyperlinks. HTML is the language used by Web servers to create and connect together documents that contain these hyperlinks. This protocol and language results in the communication and display of graphical information that incorporates hyperlinks. Hyperlinks are network addresses that are embedded in a word, phrase, icon or picture that are activated when the user selects a highlighted item displayed in the graphical information.
In contrast, most RDBMS software uses a Structured Query Language (SQL) interface. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American Nationals Standard Organization (ANSI) and the International Standards Organization (ISO). Thus, there is a need in the art for methods of accessing RDBMS software across an Internet or Intranet, and especially via Web-based networks. Further, there is a need for simplified development environments for such systems.
There is also a need for a development environment with a rapid and flexible debugging capability, particularly with respect to the user-defined functions or stored procedures supported by RDBMS utilities. One way of implementing a debugging capability is to append the source code for the user-defined functions or stored procedures with debugging-related instructions which allow the software developer to determine the value of system or process variables and insert new variables if desired. Unfortunately, this involves compiling the debugging instructions along with the functional source code, resulting in object or machine code with both debugger and functional instructions inseparably integrated together.
This results in many disadvantages. For example, in the multi-tiered environment, this requires the user to undertake the time consuming process of recreating or rebuilding the database stored procedures or user-defined functions, even if all that is required is to execute the debug instructions or to avoid execution of the debugging instructions. Recreation or rebuilding the database stored procedures or user-defined functions may be required even if a single field or instruction in the executable is changed.
Further, the need to debug is transitory, but the lifetime of a properly operating stored procedure or user-defined function is not. Once the user-defined function or stored procedure is debugged, the software developer must rebuild these procedures or leave them in the code, increasing storage requirements and processing time. Also, although stored procedures and user-defined functions may be built on many databases at the same time, it is practical to debug only one of them. Switching from one database (for debugging purposes) to many others (for production and delivery) requires changing build targets or keeping two copies of build options. Accordingly, there is a need for a software development environment tool that supports a debugging capability without the need to rebuild or recompile stored procedures or user-defined functions. The tool must operate such that after software development, the stored procedure or user-defined function must operate properly when called by a program developed a wide variety of languages, including those other than that used by the software development environment. Similarly, the language of the software development environment must be able to call a stored procedure or user-defined function in another language, while still supporting debug functions. Because many platforms may be used to implement the software development tool, and the resulting software product must operate with a wide variety of operating systems, the debugging capability must operate with a multi-platform database system, and require no operating system specific technologies. The present invention satisfies that need.